package com.linux4fun.singleton;

/**
 * 静态快单例初始化
 * 在静态块中初始化单例，也属于主动模式，单可以加入异常处理
 * https://kylepeng93.github.io
 *
 * @author pengkai
 * @date 2021-03-21 上午11:39
 */
public class StaticBlockInitializationMode {

    private static StaticBlockInitializationMode instance;

    private StaticBlockInitializationMode() {};

    /**
     * 在静态块可以使用语句，如添加异常处理
     */
    static {
        try {
            instance = new StaticBlockInitializationMode();
        } catch (Exception ex) {
            throw new RuntimeException("创建单例时发生了异常");
        }
    }

    public static StaticBlockInitializationMode getInstance() {
        return instance;
    }

}
